package agents;

import java.util.Vector;

import sim.engine.SimState;
import sim.engine.Steppable;
import sim.util.Bag;

public class Gestionnaire implements Steppable {

	private int time;
	private static Bag artistes;
	public static Vector<String> artistesid = new Vector<String>();

	public Gestionnaire(){
		time = 0;
		this.artistes = new Bag();
	}
	

	public void setArtiste(String id, float droit){
		ArtisteDroit temp = new ArtisteDroit(id, droit);
		artistes.add(temp);
		artistesid.add(id);
//		System.out.println(id);
	}
	
	public static void recevoirDroit(String id, float droit){
		int index = Gestionnaire.artistesid.indexOf(id);
		((ArtisteDroit)artistes.objs[index]).droit = droit;
	}
	
	public void distribuerArgent(){
		for(int i = 0; i < artistes.size(); i ++){
//			System.out.println("distribuerArgent");
			ArtisteDroit temp = (ArtisteDroit) artistes.get(i);
			if(temp.droit != 0){
				
				int index = simulation.Simulation.artistesid.indexOf(temp.id);
				((Artiste)simulation.Simulation.artistes.objs[index]).setArgent(temp.droit - temp.droit*simulation.Constantes.pourcentageGestionnaire);
				temp.droit = 0;
			}
		}
	}



	@Override
	public void step(SimState  state) {
		time ++;
		if (time % 30 == 0){
			distribuerArgent();
			time = 0;
		}

	}

}
